perm filename COMT.PAL[HAL,HE]5 blob
sn#167939 filedate 1975-07-10 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00007 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Test of condition monitors
C00004 00003 SMALL TEST OF ARITHMETIC
C00006 00004 SMALL TEST OF ARITHMETIC
C00007 00005 Test of the FOR loop.
C00008 00006 Test of graph structure: calculators
C00009 00007 Test of graph structure: changers
C00010 ENDMK
C⊗;
; Test of condition monitors
COMMENT ⊗
XPRINT
L45 ;Say hello
XCMMAK
20 ;CM at 20
L30 ;Code at L30 for checker
L31 ;Code at L31 for body
XMVAR ;
10 ;X
12 ;y
0
XPUSH ;X ← L41
L41
XCHNGE
10
XPUSH ;Y ← L41.5 (= 0)
L41.5
XCHNGE
12
XCMENB ;Enable checker
20
L32: XGTVAL ;X ← X - 1
10 ;
XCOPY ;
0
XPRNTS ;Say what X is
XPUSH ;
L43 ;Push 1
XSSUB ;Subtract
XCHNGE ;
10 ;
XGTVAL ;
12 ;Y=0?
XJUMPC ;
2 ;
L32 ;If so, loop
XCMDEST ;else get rid of checker
20 ;
0
XTERMINATE;and go away
L30: XCMSKED ;Checker body
XPRINT ;Say "."
L46 ;
XGTVAL ;X≤0?
10 ;
XJUMPC ;
7 ;if GT then jump
L30 ;
XCMTRIG ;Yes. trigger
XJUMP ;
L30 ;
L31: XCMBWT ;Wait for signal
XPRINT
L44 ;Say "zero"
XPUSH ;
L41 ;SET Y ← 10.0
XCHNGE ;
12 ;
XJUMP ;
L31 ;
;data area
L41: 41040 ;10.0
0
L41.5: 0 ;0.0
0
L42: ASCIE </
DECREMENTING/>
L43: 40200 ;1.0
0
L44: ASCIE </
ZERO/>
L45: ASCIE </
TEST OF CONDITION CHECKERS
/>
L46: ASCIE </./>
⊗
; SMALL TEST OF ARITHMETIC
COMMENT ⊗ Save the following for another time.
L1: XMVAR
10 ;X
12 ;Y
14 ;Z
16 ;W
0
XPUSH ;X ← L103
L103
XCHNGE
10
XPUSH ;Y ← L105
L105
XCHNGE
12
XPUSH ;Z ← L107
L107
XCHNGE
14
XGTVAL ;W ← X . Y . Z
10
XGTVAL
12
XGTVAL
14
L2: XVMAKE
XCHNGE
16
XPRINT ;
A1 ;
XVARPRN ;
16 ;W
XTERMINATE
L103: ;VECTOR(44.5, 44.5, 44.5, 2)
41462
0
41462
0
41462
0
40400
0
L105: ;VECTOR(10, 10, 10, 1)
41040
0
41040
0
41040
0
40200
0
L107: ;VECTOR(20, 20, 20, 1)
41240
0
41240
0
41240
0
40200
0
A1: ASCIE /W = /
⊗ end of commented out portion
; SMALL TEST OF ARITHMETIC
COMMENT ⊗ Save the following for another time.
L1: XMVAR
10 ;X
12 ;Y
14 ;Z
16 ;W
0
XPUSH ;X ← L103
L103
XCHNGE
10
XPUSH ;Y ← L105
L105
XCHNGE
12
XPUSH ;Z ← L107
L107
XCHNGE
14
XGTVAL ;W ← X . Y . Z
10
XGTVAL
12
XGTVAL
14
L2: XVMAKE
XCHNGE
16
XTERMINATE
L103: ;VECTOR(44.5, 44.5, 44.5, 2)
41462
0
41462
0
41462
0
40400
0
L105: ;VECTOR(10, 10, 10, 1)
41040
0
41040
0
41040
0
40200
0
L107: ;VECTOR(20, 20, 20, 1)
41240
0
41240
0
41240
0
40200
0
⊗ end of commented out portion
; SMALL TEST OF ARITHMETIC
;COMMENT ⊗ Save the following for another time.
L1: XMVAR
10 ;X
12 ;Y
14 ;Z
16 ;W
0
XPUSH ;X ← L103
L103
XCHNGE
10
XPUSH ;Y ← L105
L105
XCHNGE
12
XPUSH ;Z ← L107
L107
XCHNGE
14
XGTVAL ;W ← X . Y . Z
10
XGTVAL
12
XGTVAL
14
L2: XVMAKE
XCHNGE
16
XTERMINATE
L103: ;VECTOR(44.5, 44.5, 44.5, 2)
41462
0
41462
0
41462
0
40400
0
L105: ;VECTOR(10, 10, 10, 1)
41040
0
41040
0
41040
0
40200
0
L107: ;VECTOR(20, 20, 20, 1)
41240
0
41240
0
41240
0
40200
0
;⊗ end of commented out portion
; Test of graph structure: calculators
COMMENT ⊗
XMVAR
20 ;X
22 ;Y
24 ;Z
26 ;W
0 ;
XPUSH ;X ← 1
L1 ;
XCHNGE ;
20 ;
XPUSH ;Y ← 1
L1 ;
XCHNGE ;
22 ;
XMCLC ;Z <= X + Y
24 ;
L10 ;code
20 ;neededs
22 ;
0 ;
XMCLC ;W <= X + Y
26 ;
L10 ;code
20 ;neededs
22 ;
0 ;
XMCLC ;W <= Z
26 ;
L11 ;code
24 ;neededs
0 ;
XBREAK ;
XGTVAL ;Print W
26 ;
XPRNTS ;
XKVAR ;
20 ;
0 ;
XBREAK ;
XKVAR ;
22 ;
24 ;
26 ;
0 ;
XTERMINATE
L10: XGTVAL ;X
20 ;
XGTVAL ;Y
22 ;
XSADD ;+
XENDCLC ;
L11: XGTVAL ;Z
24 ;
XENDCLC ;
L1: 40200 ;1
0
⊗
; Test of graph structure: changers
COMMENT ⊗
XMVAR
20 ;X
22 ;Y
24 ;Z
26 ;W
0 ;
XPUSH ;X ← 1
L1 ;
XCHNGE ;
20 ;
XPUSH ;Y ← 1
L1 ;
XCHNGE ;
22 ;
XMCHG ;WHEN CHANGE X DO [Z ← NEW-OLD; PRINT Z]
20 ;
L10 ;code
XMCHG ;WHEN CHANGE Z DO [PRINT Z]
24 ;
L11 ;code
XPUSH ;X ← 10
L2 ;
XCHNGE ;
20 ;
XTERMINATE
L10: XGTNEW ;
XGTOLD ;
XSSUB ;-
XCOPY ;
0
XVALPRN ;
XCHNGE ;
24 ;Z
XTERMINATE
L11: XGTVAL ;
24 ;Z
XPRNTS ;
XTERMINATE
L1: 40200 ;1
0
L2: 41040 ;=10
0
⊗